On the Language Design and Semantic Foundation of LCL a Larch C Interface Speci cation Language
نویسنده
چکیده
On the Language Design and Semantic Foundation of LCL a Larch C Interface Speci cation Language The specialization of a speci cation language to a particular programming lan guage is an important characteristic of module interface speci cation languages MISL s The only well developed MISL s are the Larch interface languages and among these LCL a Larch C interface speci cation language would seem to be the most mature Our e orts to elaborate a semantic model for LCL lead to the identi cation of inadequacies and insu ciencies in the language and its informal de nition After de ning and motivating the concept of object dependency we demonstrate that LCL lacks the necessary language constructs for specifying object dependency relationships We illustrate shortcomings caused by implicit constraints that are related to function parameters and object trashing We show that the implicit constraint associated with the trashing of objects results in a violation of the principle of referential transparency The identi ed inadequacies and insu ciencies are overcome in LCL the variant of LCL described in this thesis The main contribution of this thesis is a semantic model within which a core subset of LCL consisting of constant dec larations variable declarations and function speci cations is formally de ned We present the semantics in a style known as natural semantics The meaning of the non interface part of an LCL speci cation is captured by an embedding into LSL The primary notation used to write the semantics is Z We have cho sen to use LL the logic underlying LSL as the logical basis for LCL At the heart of the semantic model is our model of the store The storage model is exceptional in that it supports object dependencies in their full static generality Previously published de nitions of the meaning of a function speci cation are shown to be inaccurate we present a corrected de nition Finally we note that our semantic model particularly the model of the store is general enough that it can serve as a base for the formal de nition of other imperative programming languages and MISL s especially the Larch interface languages LCPP and LM
منابع مشابه
An Overview of Larch/C++: Behavioral Specifications for C++ Modules
An overview is presented of the behavioral interface speci cation language Larch/C++. The features of Larch/C++ used to specify the behavior of C++ functions and classes, including subclasses, are described, with examples. Comparisons are made with other object-oriented speci cation languages. An innovation in Larch/C++ is the use of examples in function speci cations.
متن کاملA Quick Overview of Larch/C++
This paper gives a quick overview of Larch/C++, an interface speci cation language for C++. Through examples, we explain declarations, function speci cations, class speci cations, and template speci cations. An extended example is given in the last section. The reader is assumed to have some familiarity with C++. The reader should have some familiarity with the idea of formal speci cation, but ...
متن کاملAn Overview of Larch/C++: Behavioral Speci cations for C++ Modules
An overview is presented of the behavioral interface speci cation language Larch/C++. The features of Larch/C++ used to specify the behavior of C++ functions and classes, including subclasses, are described, with examples. Comparisons are made with other object-oriented specication languages. An innovation in Larch/C++ is the use of examples in function speci cations.
متن کاملAn Overview of Larch / C + + : Behavioral Specificationsfor
An overview is presented of the behavioral interface speciication language Larch/C++. The features of Larch/C++ used to specify the behavior of C++ functions and classes, including subclasses, are described, with examples. Comparisons are made with other object-oriented speci-cation languages. An innovation in Larch/C++ is the use of examples in function speciications.
متن کاملAn Overview of Larch / C + + : Behavioral Specificationsfor C + +
An overview is presented of the behavioral interface speciication language Larch/C++. The features of Larch/C++ used to specify the behavior of C++ functions and classes, including subclasses, are described, with examples. Comparisons are made with other object-oriented speci-cation languages. An innovation in Larch/C++ is the use of examples in function speciications.
متن کامل